학습목표

  1. requests 모듈 사용하여 http request/response 확인하기

requests 모듈

  1. http request/response를 위한 모듈
  2. HTTP method를 메소드 명으로 사용하여 request 요청 예) get, post
In [1]:
import requests
url = 'https://news.v.daum.net/v/20190728165812603'

get 요청하기

  1. http get 요청하기
  2. query parameter 이용하여 데이터 전달하기
In [2]:
resp = requests.get(url)
# resp.text

post 요청하기

  1. http post 요청하기
  2. post data 이용하여 데이터 전달하기
In [3]:
url = 'https://maninbooks.com/login.do'
data = {
    # "loginType": 1,
    "id": "test",
    "pwd": "test1234"
}

resp = requests.post(url, data=data)
# resp.text

HTTP header 데이터 이용하기

  1. header 데이터 구성하기
  2. header 데이터 전달하기
In [4]:
url = 'https://news.v.daum.net/v/20190728165812603'
headers = {
    "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36"
}
resp = requests.get(url, headers=headers)
# resp.text

HTTP response 처리하기

  1. response 객체의 이해
  2. status_code 확인하기
  3. text 속성 확인하기
In [5]:
url = 'https://news.v.daum.net/v/20190728165812603'
resp = requests.get(url)
type(resp)
Out[5]:
requests.models.Response
In [6]:
resp.status_code
Out[6]:
200
In [7]:
if resp.status_code == 200:
    print(resp.headers)
else:
    print('error!!!')
{'Date': 'Mon, 13 Jun 2022 04:41:47 GMT', 'Content-Type': 'text/html;charset=UTF-8', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'content-encoding': 'gzip', 'Strict-Transport-Security': 'max-age=15724800; includeSubDomains'}
In [8]:
resp.url
Out[8]:
'https://news.v.daum.net/v/20190728165812603'